Rajan Shankar¹, Garth Tarr¹, Ines Wilms², Jakob Raymaekers³
¹University of Sydney, ²Maastricht University, ³University of Antwerp
Aim: to estimate \(\boldsymbol\theta = (\color{#e64626}{\theta_1},\color{#e64626}{\theta_2})\)
Given a parameter vector \(\boldsymbol \theta\):
\(\mathbf {\hat y}_{t|t-1}(\boldsymbol\theta)\) and \(S_{t|t-1}(\boldsymbol\theta)\) are computed using the Kalman filter
\[ \min_{\boldsymbol\theta}\sum_{t=1}^n \left\{\log \left|S_{t|t-1}(\boldsymbol\theta)\right| + \mathbf r_t(\boldsymbol\theta)^\top S_{t|t-1}^{-1}(\boldsymbol\theta) \mathbf r_t(\boldsymbol\theta)\right\} \]
The estimate for \(\boldsymbol \theta\) can be found using standard optimisation routines.
What if the observation process is corrupted with outliers?
Minimise over \(\boldsymbol\theta, \boldsymbol\gamma_{t}\) (\(t=1,\dots,n\)):
\[ \sum_{t=1}^n \left\{\color{#e64626}{1_{\{\boldsymbol\gamma_t = \mathbf0\}}}\log \left|S_{t|t-1}(\boldsymbol\theta)\right| + \left(\mathbf r_t(\boldsymbol\theta) - \color{#e64626}{\boldsymbol\gamma_t}\right)^\top S_{t|t-1}^{-1}(\boldsymbol\theta) \left(\mathbf r_t(\boldsymbol\theta) - \color{#e64626}{\boldsymbol\gamma_t}\right)\right\} + \color{#e64626}{\sum_{t=1}^n P(\boldsymbol{\gamma}_t; \lambda)} \]
\[ P(\boldsymbol{\gamma}_t; \lambda) =\begin{cases}\lambda^2 & \text{if } \boldsymbol{\gamma}_t \neq 0 \\ 0 & \text{otherwise} \end{cases} \]
Alternating estimation algorithm. At iteration \(k\):
\[ \sum_{t=1}^n \left\{1_{\{\boldsymbol\gamma^{(k)}_t = 0\}}\log \left|S_{t|t-1}(\boldsymbol\theta)\right| + \left(\mathbf r_t(\boldsymbol\theta) - \boldsymbol\gamma^{(k)}_t\right)^\top S_{t|t-1}^{-1}(\boldsymbol\theta) \left(\mathbf r_t(\boldsymbol\theta) - \boldsymbol\gamma^{(k)}_t\right)\right\} \]
\[ \boldsymbol \gamma_t^{(k+1)} = \begin{cases} \mathbf r_t(\boldsymbol\theta^{(k)}) & \text{if } \sqrt{\mathbf r_t(\boldsymbol\theta^{(k)})^\top S_{t|t-1}^{-1}(\boldsymbol\theta^{(k)}) \mathbf r_t(\boldsymbol\theta^{(k)})} > \lambda \\ \mathbf 0 & \text{otherwise}\end{cases} \]